home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 184_01 / fl1.mac < prev    next >
Text File  |  1980-01-01  |  2KB  |  77 lines

  1.     TITLE FLTLB
  2.     PAGE 64
  3. ; Floating point library
  4. ; C/80 3.0 (7/7/83) - (c) 1983 Walter Bilofsky - used by permission
  5. ;
  6. ;MODIFIED 8/84 by N.T.Carnevale to use AMD9511 (Intel 8231A) 
  7. ;for floating point multiply/divide and MATHLIB functions.
  8. ;Replaces modules FLTLIB and MATHLIB of C/80's 
  9. ;floating-point library.
  10. ;
  11. ;note--TITLE changed from C/80's original (FLTLIB)
  12. ;
  13. ;See accompanying documentation.  Other useful information
  14. ;is in my article "Faster floating point math," which appeared
  15. ;on pp.46-54 of the Nov/Dec 1985 issue of Micro/Systems Journal.
  16. ;
  17. ;This file contains the first of three patches to the 
  18. ;source code for FLTLIB.
  19. ;Use the following code to replace the source for FLTLIB
  20. ;from the beginning through the line labelled Dual:
  21. ;
  22. ;
  23. ;these were gleaned from LIB's listing of FLIBRARY.REL:
  24. ;
  25. ENTRY Bf.Bl,Bf.Hc,Bf.Hi,Bf.Hu,Bl.Bf
  26. ENTRY cf.eq,cf.ge,cf.gt,cf.le,cf.lt,cf.ne
  27. ENTRY div10.,mul10.
  28. ENTRY dum_
  29. ENTRY errcod
  30. ENTRY F.add,F.div,F.mul,F.neg,F.not,F.sub
  31. ENTRY facl_,facl_1,facl_2,fac_,fac_1
  32. ENTRY fadd.,fadda.,fcomp.,fdiv_a,fdiv_b,fdiv_c,fdiv_g
  33. ENTRY flneg.,float.,flt.0,flt_pk
  34. ENTRY fmlt_1,fmlt_2
  35. ENTRY Hc.Bf,Hi.Bf,Hu.Bf
  36. ENTRY inxhr.
  37. ENTRY movfm.,movfr.,movmf.,movrf.
  38. ENTRY pushf.,qint.,save_,save_1,sign.,zero.
  39. ;
  40. EXTRN c.neg,c.sxt,eq.4,g.,Hc.Bl,Hi.Bl,Hu.Bl,L.add,L.neg
  41. EXTRN llong.,movrm.,neq.4,slong.
  42. ;
  43. ;this preserves the 15 byte data area revealed by LIB:
  44.     DSEG
  45. ;
  46. facl_:    DB    0
  47. facl_1: DB    0
  48. facl_2: DB    0
  49. fac_:    DB    0
  50. fac_1:    DB    0
  51. save_:    DB    0
  52. fmlt_1: DB    0
  53. fmlt_2: DB    0
  54. dum_:    DB    0
  55. save_1: DB    0
  56. errcod: DB    0
  57. fdiv_a: DB    0
  58. fdiv_b: DB    0
  59. fdiv_c: DB    0
  60. fdiv_g: DB    0
  61. ;
  62.     CSEG
  63. ;
  64. flt_pk: DS    0
  65. F.add:    XRA    A
  66.     JMP    Dual
  67. F.sub:    MVI    A,1
  68.     JMP    Dual
  69. F.mul:    JMP    fpmul        ;jump to new routines
  70. ;    MVI    A,2
  71. ;    JMP    Dual
  72. F.div:    JMP    fpdiv
  73. ;    MVI    A,3
  74. Dual:    CALL    movfr.
  75. ;
  76. ;END OF FL1.MAC
  77.